package com.zhf.cloud.gateway.springcloudgateway.entity;

import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author: 曾鸿发
 * @create: 2021-11-19 16:45
 * @description：商户模块权限组合实体类 (商户模块下的权限和页面列表)
 **/
@Data
public class MerchantModulePermission implements Serializable {

    /**
     * 自增id
     */
    private long id;

    /**
     * 模块id
     */
    private long modelId;

    /**
     * 父节点id
     */
    private long parentId;

    /**
     * 0 未开启   1 申请开启 2 已开启 3 已禁用
     */
    private String name;

    /**
     * css样式
     */
    private String css;

    /**
     * 引用地址
     */
    private String href;

    /**
     * 1 url 类
     2 权限类
     */
    private byte type;

    /**
     * 权限模块
     */
    private String permission;

    /**
     * 顺序序号
     */
    private double sort;

    /**
     * 是否删除
     */
    private byte isDel;

    /**
     * 只是包含的商户起作用，为空表示所有通用，如果有值则是数组结构如：
     [1,2,3]
     */
    private String merchantIdsOnly;

    /**
     * 排除掉的商户，如果没有则为空，如果有则为数组结构
     [1,2,3]
     */
    private String merchantIdsExcept;

    /**
     * 是否不显示
     */
    private byte isNotShow;

    /**
     * 权限id
     */
    private String permissionId;

    /**
     * 权限名称
     */
    private String permissionName;

    /**
     * 动作缩写
     */
    private String action;

    /**
     * 备注
     */
    private String describe;

    /**
     * 默认选中
     */
    private Boolean defaultCheck;

    /**
     * 子权限集合
     */
    private List<MerchantModulePermission> child = new ArrayList<>();
}
